package com.example.mybatisplus.common;

import java.lang.annotation.*;

/**
 * MP数据权限注解
 *
 * @author shenchen
 *  {@link com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor}
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface RealtyDataPermission {

    /**
     * 数据权限类型 customer/stall
     * 根据不同的类型防止不同的权限值
     */
    String type() default "customer";

    /**
     * 如果是mapper中多表联查的接口, 那么这个tableName是必填项
     */
    String tableName() default "";

    /**
     * 哪个字段用于权限查询
     *  例如: id/code ...
     */
    String field() default "";

    String[] excludes() default {};

    /**
     * 是否是关联查询, 如果是关联查询, 那么需要使用 关联查询的sql
     */
    boolean association() default false;

    /**
     *  关联查询的sql
     */
    String associationSql() default "";



}

